package cn.vehicle.biz;

import cn.vehicle.domains.vo.BasePage;
import cn.vehicle.domains.vo.req.vehicle.AddCommonVehicleReq;
import cn.vehicle.domains.vo.req.vehicle.CommonVehicleListReq;
import cn.vehicle.domains.vo.req.vehicle.UpdateCommonVehicleReq;
import cn.vehicle.domains.vo.res.vehicle.CommonVehicleRes;

public interface CommonVehicleBiz {

    /**
     * 新增普通车辆
     * @param req 新增车辆请求参数
     */
    void addCommonVehicle(AddCommonVehicleReq req);

    /**
     * 更新普通车辆信息
     * @param req 更新车辆请求参数
     */
    void updateCommonVehicle(UpdateCommonVehicleReq req);

    /**
     * 根据ID删除普通车辆
     * @param id 车辆ID
     */
    void deleteCommonVehicle(Long id);


    /**
     * 根据ID查询车辆详情
     * @param id 车辆ID
     * @return 车辆响应结果
     */
    CommonVehicleRes getCommonVehicleById(Long id);

    /**
     * 分页查询普通车辆列表
     * @param req 分页查询请求参数
     * @return 分页车辆列表
     */
    BasePage<CommonVehicleRes> listCommonVehicles(CommonVehicleListReq req);
}